jjzjj

C++ 11 线程简单示例

全部标签

ruby-on-rails - Ruby 中的线程安全枚举器

TLDR:Ruby中是否有Enumerator类的线程安全版本?我正在尝试做的事情:我想在RubyOnRails应用程序中同时运行一个方法。该方法应该创建一个包含站点报告的zip文件,其中zip中的每个文件都是PDF。从html到PDF的转换有点慢,因此需要多线程。我希望如何做到这一点:我想使用5个线程,所以我想我应该在线程之间共享一个枚举器。每个线程都会从枚举器中弹出一个值,然后运行它。这是我认为它会起作用的方式:t=Zip::OutputStream::write_bufferdo|z|mutex=Mutex.newgen=Enumerator.new{|g|Report.all.

ruby - Ruby 线程不能在写入时发生冲突吗?

在过去的C#和Java工作中,我习惯于这样的声明不是线程安全的:x+=y;但是,在与Ruby并行运行上述代码时,我未能观察到任何线程间的冲突。我读过Rubyautomaticallypreventsmultiplethreadsfromwritingtothesamedataconcurrently.这是真的?因此+=运算符在Ruby中是线程安全的吗? 最佳答案 好吧,这取决于您的实现和很多事情。在MRI中,有一个GVL(GiantVMLock)这样的东西,它控制哪个线程一次实际执行代码。你看,在MRI中,一次只有一个线程可以执行R

ruby - 使用 ruby​​ 1.9.3 在 Ubuntu 11.10 上安装 ruby​​-rvm

rvm通过以下方式正确安装:sudoapt-get安装ruby​​-rvm当我尝试安装ruby​​1.9.3时出现这些错误?anthony@SnakeDoc:~$rvminstall1.9.3mkdir:cannotcreatedirectory`/usr/share/ruby-rvm/gems/ruby-1.9.3-p0':PermissiondeniedInstallingRubyfromsourceto:/usr/share/ruby-rvm/rubies/ruby-1.9.3-p0,thismaytakeawhiledependingonyourcpu(s)...ruby-1.

ruby - 安装 libv8 3.11.8.3 时出错

我正在运行全新安装的OSX10.9Mavericks和XCode5.0.1。当我尝试在我的项目中运行bundleinstall时,它无法安装libv8gem。这是输出:ERROR:Errorinstallinglibv8:ERROR:Failedtobuildgemnativeextension./Users/user1/.rvm/rubies/ruby-1.9.3-p448/bin/rubyextconf.rbcreatingMakefileConfiguredwith:--prefix=/Applications/Xcode.app/Contents/Developer/usr--

ruby - 作为开发人员,不同的 Ruby 线程模型(Ruby 与 JRuby)对您的代码有什么实际影响?

我试图了解MRIRuby1.8和JRuby之间不同线程模型的实际影响。作为开发者,这种差异对我意味着什么?另外,MRIRuby1.8中是否有任何实际代码示例会由于不同的线程模型而在JRuby上具有更差的性能特征? 最佳答案 状态ruby1.8有绿色线程,这些线程可以快速创建/删除(作为对象)但不是真正的并行执行,甚至不由操作系统调度,而是由虚拟机调度ruby1.9有真正的线程,由于操作系统调用,创建/删除(作为对象)很慢,但由于GIL(全局解释器锁)一次只允许一个线程执行,所以这些都不是真正的线程并行JRuby也有操作系统调度的真实

ruby - 令人印象深刻的 Ruby 示例

几天后,我要在大学里做一个关于Rails项目的演讲,我想向听众介绍Ruby。我想向他们展示一两个非常好的代码示例,以展示Ruby的强大之处。你知道一个很好的例子吗?最好的问候 最佳答案 向他们展示您如何将50行丑陋的脏代码转换为3条非常易于理解的干净代码。(作为评论的第一行)不要表现出你对ruby​​有多酷。但是,如果他们使用ruby​​,他们会多么酷:) 关于ruby-令人印象深刻的Ruby示例,我们在StackOverflow上找到一个类似的问题: htt

ruby-on-rails - OmniAuth 是否为 Facebook Graph API 提供简单的 Hook ?

我正在努力将Omniauth与我的新Facebook应用程序集成,我正在查看相当稀疏的文档以了解它是否提供了访问图形API的简单方法......我正在从非常简单的Koala转移。有没有人为此使用过Omniauth?我想从用户的相册中获取照片,并对它们进行排序并获取它们的唯一URL。 最佳答案 我终于发现了:1)包括thisgem2)使用gem:user=FbGraph::User.new('me',:access_token=>session[:omniauth]["credentials"]["token"])user.fetch

ruby-on-rails - 无法在 OSX 10.11.3 上安装 Puma gem

我刚刚重新格式化我的MacBook,然后尝试克隆我的Rails项目。当我执行bundleinstall时,Pumagem失败。当我运行geminstallpuma-v'2.13.4'时,出现此错误:Fetching:puma-2.13.4.gem(100%)Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingpuma:ERROR:Failedtobuildgemnativeextension./Users/zulhilmi/.rvm/rubies/ruby-2.2.0/bin/ruby-r./sitec

ruby-on-rails - 寻找具有错误检查功能的法拉第中间件示例

我正在寻找FaradayMiddleware的示例,它可以处理请求中的http(状态代码)错误以及网络超时。在阅读了Faraday及其中间件的文档后,我了解到这是中间件的用例之一……我只是不知道实现应该是什么样子。谢谢 最佳答案 Faraday默认有一个错误处理中间件:faraday.useFaraday::Response::RaiseError例如:require'faraday'conn=Faraday.new('https://github.com/')do|c|c.useFaraday::Response::RaiseEr

ruby - 删除所有非单词字符的简单方法

我想使用最简单的方法从字符串中删除所有字符。例如从"a,sd331ds"到"asdds"我想这样做:"a,sd331ds".gsub(/\W/,"").gsub(/\d/,"")#=>"asdds"但是看起来有点别扭。也许可以将这些rexegs合并为一个? 最佳答案 "a,sd331ds".gsub(/(\W|\d)/,"") 关于ruby-删除所有非单词字符的简单方法,我们在StackOverflow上找到一个类似的问题: https://stackover